It has been increasingly important to detect object data of an image or of other data to be detected with a machine learning method. Particularly detection of an object in an image has become one important branch thereof.
The same class of objects may exhibit rather different states in an image due to a variety of factors, e.g., illumination, an angle of view, an attitude, etc., and this may make it rather difficult to detect an object in the image. Therefore the same class of objects may be classified into a plurality of subclasses for processing, but how to utilize effectively an attribute common to the subclasses and distinguish accurately one of them from another has been an issue for further investigation.
For detection of a multiclass object in an image, sharing of features has been proposed in Document [1] where joint training is performed on multiclass object classifiers and features are shared to the greatest extent among a plurality of classes for a lower cost of calculation. Pure multiclass joint training for sharing of features is rather effective for lowering a cost of calculation and achieves a good effect but suffers from inefficiency, and since a weak classifier is also shared while features are shared, it becomes increasingly difficult to share features in a subsequent segment of a strong classifier. Further to this, a vector boosting tree algorithm has been further proposed in Document [2] to detect human faces in an image, which exhibit different angles of view and different attitude. However features are also forced to be shared among a variety of classes in the algorithm proposed in Document [2] so that this forced sharing of features may make it difficult to perform further training on the classifiers when one of the classes can not share features well with other classes.